תאריך פרסום: 13 בנובמבר 2024, תאריך עדכון אחרון: 20 במאי 2025
הסבר | פיתוח אתרים | תוספים | סטטוס Chrome | כוונת רכישה |
---|---|---|---|---|
MDN | תצוגה | כוונה לערוך ניסוי |
שימוש ב-Translator API ב-Chrome כדי לתרגם טקסט באמצעות מודלים של AI שזמינים בדפדפן.
יכול להיות שכבר יש באתר שלכם תוכן בכמה שפות, כדי שהוא יהיה נגיש לקהל גלובלי. באמצעות Translator API, המשתמשים יכולים לתרום בשפת האם שלהם. לדוגמה, משתמשים יכולים להשתתף בצ'אטים של תמיכה בשפה הראשונה שלהם, והאתר יכול לתרגם את הצ'אט לשפה שבה נציגי התמיכה משתמשים, לפני שהוא יוצא מהמכשיר של המשתמש. כך נוצרת חוויה חלקה, מהירה וכוללת לכל המשתמשים.
בדרך כלל, כדי לתרגם תוכן באינטרנט צריך להשתמש בשירות בענן. קודם תוכן המקור מועלה לשרת, שבו מתבצע התרגום לשפת היעד. לאחר מכן הטקסט שנוצר מורידים ומחזירים למשתמש. כשמריצים את התרגום בצד הלקוח, חוסכים את הזמן שנדרש לנסיעות לשרת ואת עלות אירוח שירות התרגום.
שנתחיל?
Translator API זמין מ-גרסת Chrome 138 היציבה. קודם כול, מריצים זיהוי תכונות כדי לבדוק אם הדפדפן תומך ב-Translator API.
if ('Translator' in self) {
// The Translator API is supported.
}
תמיד ידוע לכם מהי שפת היעד של התרגומים, אבל יכול להיות שלא תמיד תדעו מהי שפת המקור. במקרים כאלה, אפשר להשתמש ב-Language Detector API.
בדיקת דרישות החומרה
ה-API של גלאי השפות ו-Translator API פועלים במחשב רק ב-Chrome.
ממשקי Prompt API, Summarizer API, Writer API ו-Rewriter API פועלים ב-Chrome כשמתקיימים התנאים הבאים:
- מערכת הפעלה: Windows 10 או 11, macOS מגרסה 13 ואילך (Ventura ואילך) או Linux. עדיין אין תמיכה ב-Chrome ל-Android, ל-iOS ול-ChromeOS בממשקי ה-API שלנו שמבוססים על Gemini Nano.
- אחסון: נפח אחסון של 22GB לפחות בנפח האחסון שמכיל את פרופיל Chrome שלכם.
- GPU: יותר מ-4GB של VRAM.
- רשת: נתונים ללא הגבלה או חיבור ללא חיוב לפי נפח.
הדרישות האלה קיימות עבורכם בתהליך הפיתוח ועבור המשתמשים שלכם שעובדים עם התכונות שאתם מפתחים.
בדיקת התמיכה בזוגות שפות
התרגום מנוהל באמצעות חבילות שפה, שמורידות על פי דרישה. חבילת שפה היא כמו מילון של שפה מסוימת.
sourceLanguage
: השפה הנוכחית של הטקסט.targetLanguage
: השפה הסופית שאליה צריך לתרגם את הטקסט.
משתמשים בקודים קצרים של שפות לפי BCP 47 בתור מחרוזות. לדוגמה, 'es'
עבור ספרדית או 'fr'
עבור צרפתית.
const translatorCapabilities = await Translator.availability({
sourceLanguage: 'es',
targetLanguage: 'fr',
});
// 'available'
הפונקציה availability()
מחזירה הבטחה עם הערכים הבאים:
"unavailable"
: ההטמעה לא תומכת בתרגום או בזיהוי השפה של השפות הנתונות."downloadable"
: ההטמעה תומכת בתרגום או בזיהוי השפה של השפות הנתונות, אבל צריך לבצע הורדה כדי להמשיך. יכול להיות שההורדה היא מודל הדפדפן."downloading"
: ההטמעה תומכת בתרגום או בזיהוי השפה של השפות הנתונות. הדפדפן מסיים הורדה מתמשכת, כחלק מיצירת האובייקט המשויך."available"
: ההטמעה תומכת בתרגום או בזיהוי השפה של השפות הנתונות, וההורדות הנדרשות כבר בוצעו.
האזנה להתקדמות ההורדה של המודל באמצעות האירוע downloadprogress
:
const translator = await Translator.create({
sourceLanguage: 'es',
targetLanguage: 'fr',
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
אם ההורדה נכשלת, האירועים מסוג downloadprogress
מפסיקים וההבטחה מסוג ready
נדחית.
יצירה והרצה של המתרגם
כדי ליצור מתרגם, צריך להפעיל את הפונקציה create()
אסינכרונית. הוא דורש פרמטר options עם שני שדות, אחד ל-sourceLanguage
ואחד ל-targetLanguage
.
// Create a translator that translates from English to French.
const translator = await Translator.create({
sourceLanguage: 'en',
targetLanguage: 'fr',
});
אחרי שיוצרים מתרגם, קוראים ל-translate()
האסינכרוני.
await translator.translate('Where is the next bus stop, please?');
// "Où est le prochain arrêt de bus, s'il vous plaît ?"
תרגומים ברצף
התרגומים עוברים עיבוד ברצף. אם שולחים כמויות גדולות של טקסט לתרגום, התרגומים הבאים יחסמו עד שהתרגומים הקודמים יסתיימו.
כדי לקבל את התשובה הטובה ביותר לבקשות שלכם, מומלץ לקבץ אותן יחד ולהוסיף ממשק טעינה, כמו גלגל מסתובב, כדי להעביר את המסר שהתרגום נמשך.
הדגמה (דמו)
אפשר לראות את Translator API, שמשמש בשילוב עם Language Detector API, בסביבת ה-playground של Translator ו-Language Detector API.
מאמץ סטנדרטיזציה
אנחנו עובדים על סטנדרטיזציה של Translator API כדי להבטיח תאימות לדפדפנים שונים.
הצעת ה-API שלנו קיבלה תמיכה מהקהילה והועברה לW3C Web Incubator Community Group להמשך דיון. צוות Chrome ביקש משוב מקבוצת הארכיטקטורה הטכנית של W3C, וביקש מ-Mozilla ומ-WebKit את עמדותיהם בנושא התקנים.
כדי להשתתף במאמץ ליצירת התקנים, אפשר להצטרף לקבוצת הקהילה של Web Incubator.
מתן משוב
אנחנו רוצים לראות מה אתם יוצרים באמצעות Language Detector API. אתם יכולים לשתף איתנו את האתרים ואת אפליקציות האינטרנט שלכם ב-X, ב-YouTube וב-LinkedIn.
כדי לשלוח משוב על ההטמעה ב-Chrome, אפשר לשלוח דיווח על באג או בקשה להוספת תכונה.